package com.ruoyi.workSafetyStandardization.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 标准化考核专业评分对象 scoring_major_result
 *
 * @author pengjie
 * @date 2023-12-18
 */
public class InspectionMajorResult extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 专业考核结果Id（(主键) */
    private String majorResultId;

    /** 考核主键 */
    @Excel(name = "考核主键")
    private String inspectionId;

    /** 考核类型（0 内部，1外部） */
    @Excel(name = "考核类型", readConverterExp = "0=,内=部，1外部")
    private Long inspectionType;

    /** 专业主键 */
    @Excel(name = "专业主键")
    private String majorId;

    /** 专业简称 */
    @Excel(name = "专业简称")
    private String majorName;

    /** 专业全称 */
    @Excel(name = "专业全称")
    private String majorFullName;

    /** 专业父Id */
    @Excel(name = "专业父Id")
    private String parentId;

    /** 标准得分 */
    @Excel(name = "标准得分")
    private Long majorStandardScore;

    /** 权重 */
    @Excel(name = "权重")
    private BigDecimal weight;

    /** 是否含有子专业, 默认0(0:否；1:是)； */
    @Excel(name = "是否含有子专业, 默认0(0:否；1:是)；")
    private Long child;

    /** 状态, 默认1(1:启用；0:停用)； */
    @Excel(name = "状态, 默认1(1:启用；0:停用)；")
    private Long enable;

    /** 排序 */
    @Excel(name = "排序")
    private Long sorting;

    /** 规则Key */
    @Excel(name = "规则Key")
    private String ruleKey;

    /** 规则 */
    @Excel(name = "规则")
    private String rule;

    /** 专业标准得分 */
    @Excel(name = "专业标准得分")
    private BigDecimal majorScore;

    /** 专业加权得分 */
    @Excel(name = "专业加权得分")
    private BigDecimal majorWeightScore;

    /** 专业负责人 */
    @Excel(name = "专业负责人")
    private String majorLeader;

    /** 专业负责人电话 */
    @Excel(name = "专业负责人电话")
    private String majorLeaderPhone;

    /** 重大隐患(0,无，1 有，内容来之专业隐患的评审 */
    @Excel(name = "重大隐患(0,无，1 有，内容来之专业隐患的评审")
    private Long accidentJudgeState;

    /** 重大隐患内容 */
    @Excel(name = "重大隐患内容")
    private String accidentJudgeContent;

    /** 重大隐患Ids */
    @Excel(name = "重大隐患Ids")
    private String accidentJudgeIds;

    /** 专业考核状态（1评审中，2已汇总，3已确认，4已提交2） */
    @Excel(name = "专业考核状态", readConverterExp = "1=评审中，2已汇总，3已确认，4已提交2")
    private Long majorState;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createByName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createAt;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updateByName;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateAt;

    /** 版本 */
    @Excel(name = "版本")
    private String version;

    /** 状态, 默认1(1:正常；2:冻结；98:关闭；99:删除)； */
    @Excel(name = "状态, 默认1(1:正常；2:冻结；98:关闭；99:删除)；")
    private Long status;

    /** 扩展字段1 */
    @Excel(name = "扩展字段1")
    private String extra1;

    /** 扩展字段3 (检查得分:合计得分;) */
    @Excel(name = "扩展字段3 (检查得分:合计得分;)")
    private String extra2;

    /** 扩展字段3 (检查得分:合计得分) */
    @Excel(name = "扩展字段3 (检查得分:合计得分)")
    private String extra3;

    /** 检查单位 */
    @Excel(name = "检查单位")
    private String missingItem;

    /** 检查人员 */
    @Excel(name = "检查人员")
    private String majorInspectors;

    /** 陪检人员 */
    @Excel(name = "陪检人员")
    private String majorAccompanyingPersons;

    /** 检查时间 */
    @Excel(name = "检查时间")
    private String majorInspectionDate;

    /** 检查地点 */
    @Excel(name = "检查地点")
    private String majorInspectionLocation;

//    /** tree结构 */
//    @Excel(name = "tree结构")
//    @TableField(exist = false)
//    private List<InspectionMajorResult> children;
//
//    public List<InspectionMajorResult> getChildren() {
//        return children;
//    }
//
//    public void setChildren(List<InspectionMajorResult> children) {
//        this.children = children;
//    }

    public void setMajorResultId(String majorResultId)
    {
        this.majorResultId = majorResultId;
    }

    public String getMajorResultId()
    {
        return majorResultId;
    }
    public void setInspectionId(String inspectionId)
    {
        this.inspectionId = inspectionId;
    }

    public String getInspectionId()
    {
        return inspectionId;
    }
    public void setInspectionType(Long inspectionType)
    {
        this.inspectionType = inspectionType;
    }

    public Long getInspectionType()
    {
        return inspectionType;
    }
    public void setMajorId(String majorId)
    {
        this.majorId = majorId;
    }

    public String getMajorId()
    {
        return majorId;
    }
    public void setMajorName(String majorName)
    {
        this.majorName = majorName;
    }

    public String getMajorName()
    {
        return majorName;
    }
    public void setMajorFullName(String majorFullName)
    {
        this.majorFullName = majorFullName;
    }

    public String getMajorFullName()
    {
        return majorFullName;
    }
    public void setParentId(String parentId)
    {
        this.parentId = parentId;
    }

    public String getParentId()
    {
        return parentId;
    }
    public void setMajorStandardScore(Long majorStandardScore)
    {
        this.majorStandardScore = majorStandardScore;
    }

    public Long getMajorStandardScore()
    {
        return majorStandardScore;
    }
    public void setWeight(BigDecimal weight)
    {
        this.weight = weight;
    }

    public BigDecimal getWeight()
    {
        return weight;
    }
    public void setChild(Long child)
    {
        this.child = child;
    }

    public Long getChild()
    {
        return child;
    }
    public void setEnable(Long enable)
    {
        this.enable = enable;
    }

    public Long getEnable()
    {
        return enable;
    }
    public void setSorting(Long sorting)
    {
        this.sorting = sorting;
    }

    public Long getSorting()
    {
        return sorting;
    }
    public void setRuleKey(String ruleKey)
    {
        this.ruleKey = ruleKey;
    }

    public String getRuleKey()
    {
        return ruleKey;
    }
    public void setRule(String rule)
    {
        this.rule = rule;
    }

    public String getRule()
    {
        return rule;
    }
    public void setMajorScore(BigDecimal majorScore)
    {
        this.majorScore = majorScore;
    }

    public BigDecimal getMajorScore()
    {
        return majorScore;
    }
    public void setMajorWeightScore(BigDecimal majorWeightScore)
    {
        this.majorWeightScore = majorWeightScore;
    }

    public BigDecimal getMajorWeightScore()
    {
        return majorWeightScore;
    }
    public void setMajorLeader(String majorLeader)
    {
        this.majorLeader = majorLeader;
    }

    public String getMajorLeader()
    {
        return majorLeader;
    }
    public void setMajorLeaderPhone(String majorLeaderPhone)
    {
        this.majorLeaderPhone = majorLeaderPhone;
    }

    public String getMajorLeaderPhone()
    {
        return majorLeaderPhone;
    }
    public void setAccidentJudgeState(Long accidentJudgeState)
    {
        this.accidentJudgeState = accidentJudgeState;
    }

    public Long getAccidentJudgeState()
    {
        return accidentJudgeState;
    }
    public void setAccidentJudgeContent(String accidentJudgeContent)
    {
        this.accidentJudgeContent = accidentJudgeContent;
    }

    public String getAccidentJudgeContent()
    {
        return accidentJudgeContent;
    }
    public void setAccidentJudgeIds(String accidentJudgeIds)
    {
        this.accidentJudgeIds = accidentJudgeIds;
    }

    public String getAccidentJudgeIds()
    {
        return accidentJudgeIds;
    }
    public void setMajorState(Long majorState)
    {
        this.majorState = majorState;
    }

    public Long getMajorState()
    {
        return majorState;
    }
    public void setCreateByName(String createByName)
    {
        this.createByName = createByName;
    }

    public String getCreateByName()
    {
        return createByName;
    }
    public void setCreateAt(Date createAt)
    {
        this.createAt = createAt;
    }

    public Date getCreateAt()
    {
        return createAt;
    }
    public void setUpdateByName(String updateByName)
    {
        this.updateByName = updateByName;
    }

    public String getUpdateByName()
    {
        return updateByName;
    }
    public void setUpdateAt(Date updateAt)
    {
        this.updateAt = updateAt;
    }

    public Date getUpdateAt()
    {
        return updateAt;
    }
    public void setVersion(String version)
    {
        this.version = version;
    }

    public String getVersion()
    {
        return version;
    }
    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }
    public void setExtra1(String extra1)
    {
        this.extra1 = extra1;
    }

    public String getExtra1()
    {
        return extra1;
    }
    public void setExtra2(String extra2)
    {
        this.extra2 = extra2;
    }

    public String getExtra2()
    {
        return extra2;
    }
    public void setExtra3(String extra3)
    {
        this.extra3 = extra3;
    }

    public String getExtra3()
    {
        return extra3;
    }
    public void setMissingItem(String missingItem)
    {
        this.missingItem = missingItem;
    }

    public String getMissingItem()
    {
        return missingItem;
    }
    public void setMajorInspectors(String majorInspectors)
    {
        this.majorInspectors = majorInspectors;
    }

    public String getMajorInspectors()
    {
        return majorInspectors;
    }
    public void setMajorAccompanyingPersons(String majorAccompanyingPersons)
    {
        this.majorAccompanyingPersons = majorAccompanyingPersons;
    }

    public String getMajorAccompanyingPersons()
    {
        return majorAccompanyingPersons;
    }
    public void setMajorInspectionDate(String majorInspectionDate)
    {
        this.majorInspectionDate = majorInspectionDate;
    }

    public String getMajorInspectionDate()
    {
        return majorInspectionDate;
    }
    public void setMajorInspectionLocation(String majorInspectionLocation)
    {
        this.majorInspectionLocation = majorInspectionLocation;
    }

    public String getMajorInspectionLocation()
    {
        return majorInspectionLocation;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("majorResultId", getMajorResultId())
            .append("inspectionId", getInspectionId())
            .append("inspectionType", getInspectionType())
            .append("majorId", getMajorId())
            .append("majorName", getMajorName())
            .append("majorFullName", getMajorFullName())
            .append("parentId", getParentId())
            .append("majorStandardScore", getMajorStandardScore())
            .append("weight", getWeight())
            .append("child", getChild())
            .append("enable", getEnable())
            .append("sorting", getSorting())
            .append("ruleKey", getRuleKey())
            .append("rule", getRule())
            .append("majorScore", getMajorScore())
            .append("majorWeightScore", getMajorWeightScore())
            .append("majorLeader", getMajorLeader())
            .append("majorLeaderPhone", getMajorLeaderPhone())
            .append("accidentJudgeState", getAccidentJudgeState())
            .append("accidentJudgeContent", getAccidentJudgeContent())
            .append("accidentJudgeIds", getAccidentJudgeIds())
            .append("majorState", getMajorState())
            .append("createBy", getCreateBy())
            .append("createByName", getCreateByName())
            .append("createAt", getCreateAt())
            .append("updateBy", getUpdateBy())
            .append("updateByName", getUpdateByName())
            .append("updateAt", getUpdateAt())
            .append("remark", getRemark())
            .append("version", getVersion())
            .append("status", getStatus())
            .append("extra1", getExtra1())
            .append("extra2", getExtra2())
            .append("extra3", getExtra3())
            .append("missingItem", getMissingItem())
            .append("majorInspectors", getMajorInspectors())
            .append("majorAccompanyingPersons", getMajorAccompanyingPersons())
            .append("majorInspectionDate", getMajorInspectionDate())
            .append("majorInspectionLocation", getMajorInspectionLocation())
            .toString();
    }
}
